import { GENDER_ENUM, NAME_STATUS, RECOMMEND_PLAN, USER_STATUS, ACQUIRE_CHANNEL_ENUM } from '@CONSTANTS/profile'
import { CustomI18NITF } from '@INTERFACES/Common'

export interface WeChatUserInfoITF {
  unionId: string
  openId: string
}

export interface ProfileITF {
  Name: string
  Gender: GENDER_ENUM
  State: string
  City: string
  District: string
}

export interface WeChatITF {
  Country: string
  IconUrl: string
  Name: string
  Gender: GENDER_ENUM
  UnionId?: string
  OpenId?: string
}

export interface UserPersonalITF {
  DisplayName: CustomI18NITF
  FullName: CustomI18NITF
  SortName: CustomI18NITF
}

export interface InvitorInfoITF {
  InvitorUserType: string
  UserId: string
}

export interface ExternalIdITF {
  ClientId: string
  Value: string
}

export interface UserTypeMapITF {
  [key: string]: ACQUIRE_CHANNEL_ENUM
}

export interface UserITF {
  p8Id: string
  UserToken: string
  UserName: string
  NickName: CustomI18NITF
  Status: USER_STATUS
  NameStatus: NAME_STATUS
  CreatedDate: number
  IsVisitor: boolean
  ClientKey: string
  ExternalIds: ExternalIdITF[]
  LandingSource: string
  AcquireChannel: string
  WeChat: WeChatITF
  UserPersonal: UserPersonalITF
}

export interface SystemConfigITF {
  RecommendPlan : RECOMMEND_PLAN
}
